1. Field of the Invention
This invention relates to the field of data communications, and more particularly to a method and system for operating a serial self-adaptable transmission line that provides communications between devices.
2. Description of the Related Art
Today's integrated circuits (ICs) are typically implemented using hundreds of input, output, input/output (I/O), power and ground pins, generically referred to as simply “pins”. As will be appreciated, the larger number of pins, the greater complexity in the design, manufacture and use of such ICs. IC designers therefore often go to great lengths to minimize the number of pins required by the various modules of a given design, in order to reduce the overall number of pins required to implement the given IC.
Moreover, ICs sometimes required alternate paths of communication that can be called into service in the event of a failure or other situation. For example, the internal states of today's ICs are typically programmed using a processor interface. Such a processor interface can include, for example, a 32-bit data bus, a 16-bit address bus and various control signals. However, it is often desirable to program certain internal registers prior to an IC's processor interface becoming operational. For example, a PLL generating the IC's core clock may be programmed in different ways (changing bias values, frequency ratios and so on). However, that same clock may be used to operate the processor interface. Thus, the processor interface cannot be used to program the PLL, because the processor interface cannot be used until the PLL is programmed. Instead, the PLL needs to be programmed via another interface. This alternate interface should be independent from the PLL itself, and should, as noted, employ a low pin-count technique.
Another application of such a low-pin-count interface is as an output to drive a set of 16-bit LEDs. As will be appreciated, it is desirable to employ an interface can drive such LEDs without the IC being required to generate and output 16 different signals, due to the number of pins that would be required by such an approach. As will be appreciated, then, the need for low-pin count interfaces appears in many situations in today's devices. This need has led to the development of a variety of interface standards, such as asynchronous serial communications (e.g., RS-232) and other such approaches (e.g., the inter-IC (I2C) bus).
Unfortunately, such interfaces are not without their infirmities. Such interfaces may require a certain frequency relationship between the receiver and the transmitter for proper operation, potentially limiting the devices that are able to communicate with one another. Moreover, such interfaces are sometimes proprietary in nature. Often, such interfaces require more than one input or output pin on an IC implementing the given technique. More specifically, a communications link between ICs typically requires a minimum of two signal lines, one signal line for the clock signal, and one signal line for the serialized datastream, although other solutions require many more signal lines (e.g., RS-232). The I2C-bus is an example of a serial protocol that employs two wires. Such techniques provide a relatively low-pin count solution, and so are very attractive in pin-limited designs. However, it is desirable to allow flexibility in clocking relationships, as well as to further reduce the pin-count required and to avoid proprietary technology.
What is desired, then, is to reduce the number of communication lines to a single communications line, in order to further reduce the pin count of ICs employing such a technique, as well as the area consumed by printed circuit board layouts in such designs. It is also desirable to keep the logic used to implement such a communications protocol simple, in order to minimize the area required on the integrated circuit. Moreover, as noted, such a technique should allow flexibility in the relationship between the transmitter and receiver clocks.